package imports;

import java.io.Serializable;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import users.Usuario;
import java.util.Date;


/**
 * The persistent class for the importacion database table.
 * 
 */
@Entity
@Table(name="importacion")
@NamedQueries({
    @NamedQuery(name = "Importacion.findAll", query = "SELECT i FROM Importacion i"),
    @NamedQuery(name = "Importacion.findByIdImportacion", query = "SELECT i FROM Importacion i WHERE i.idImportacion = :idImportacion"),
    @NamedQuery(name = "Importacion.findByFecha", query = "SELECT i FROM Importacion i WHERE i.fecha = :fecha"),})
public class Importacion implements Serializable {
	private static final long serialVersionUID = 1L;
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
    @Basic(optional = false)
    @NotNull
    @Column(name = "idImportacion")
    private Integer idImportacion;
	@Basic(optional = false)
    @NotNull
    @Column(name = "costoImportacion")
    private double costoImportacion;
	@Basic(optional = false)
    @NotNull
    @Column(name = "fecha")
    @Temporal(TemporalType.DATE)
    private Date fecha;
	@Basic(optional = false)
    @NotNull
    @Column(name = "gastoImportacion")
    private double gastoImportacion;
	@Basic(optional = false)
    @NotNull
    @Column(name = "productosImportados")
    private int productosImportados;
    @Basic(optional = false)
    @NotNull
    @Column(name = "productosInventariados")
    private int productosInventariados;
    @Basic(optional = false)
    @NotNull
    @Column(name = "productosNoInventariados")
    private int productosNoInventariados;
	private PreRegistro preRegistro;
	private Usuario usuario;

    public Importacion() {
    }
    
    public Importacion(Integer idImportacion, Date fecha, int productosImportados, int productosInventariados, int productosNoInventariados, double costoImportacion, double gastoImportacion) {
        this.idImportacion = idImportacion;
        this.fecha = fecha;
        this.productosImportados = productosImportados;
        this.productosInventariados = productosInventariados;
        this.productosNoInventariados = productosNoInventariados;
        this.costoImportacion = costoImportacion;
        this.gastoImportacion = gastoImportacion;
    }

	public int getIdImportacion() {
		return this.idImportacion;
	}

	public void setIdImportacion(int idImportacion) {
		this.idImportacion = idImportacion;
	}


	public double getCostoImportacion() {
		return this.costoImportacion;
	}

	public void setCostoImportacion(double costoImportacion) {
		this.costoImportacion = costoImportacion;
	}


	public Date getFecha() {
		return this.fecha;
	}

	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}


	public double getGastoImportacion() {
		return this.gastoImportacion;
	}

	public void setGastoImportacion(double gastoImportacion) {
		this.gastoImportacion = gastoImportacion;
	}


	public int getProductosImportados() {
		return this.productosImportados;
	}

	public void setProductosImportados(int productosImportados) {
		this.productosImportados = productosImportados;
	}


	public int getProductosInventariados() {
		return this.productosInventariados;
	}

	public void setProductosInventariados(int productosInventariados) {
		this.productosInventariados = productosInventariados;
	}


	public int getProductosNoInventariados() {
		return this.productosNoInventariados;
	}

	public void setProductosNoInventariados(int productosNoInventariados) {
		this.productosNoInventariados = productosNoInventariados;
	}


	//uni-directional many-to-one association to PreRegistro
    @ManyToOne
	@JoinColumn(name="idPre_registro")
	public PreRegistro getPreRegistro() {
		return this.preRegistro;
	}

	public void setPreRegistro(PreRegistro preRegistro) {
		this.preRegistro = preRegistro;
	}
	

	//uni-directional many-to-one association to Usuario
    @ManyToOne
	@JoinColumn(name="idUsuario")
	public Usuario getUsuario() {
		return this.usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}
	
}